package com.codi.bus.core.service.organ;

import com.codi.bus.core.resultModel.BaseResult;
import com.codi.bus.core.resultModel.NTradingRecordListResult;
import com.codi.bus.core.resultModel.PTradingRecordListResult;
import com.codi.bus.core.resultModel.WTradingRecordListResult;
import com.codi.bus.core.service.model.ApplyModel;
import com.codi.bus.core.service.model.DealType;
import com.codi.bus.core.service.model.DividendModel;

import java.util.List;

/**
 * @author lvgo
 * @version 1.0
 * @Description: 机构交易记录
 * @date 2018/5/8 16:28
 */
public interface OrganApplyRecordService {


    /**
     * 资产--基金的交易记录
     *
     * @param fundCode  基金代码 非必
     * @param queryType 业务类型, all 全部 onWay 进行中
     * @param userId    用户id
     * @param business  业务代码
     * @param allotNo  交易单号
     * @return
     */
    NTradingRecordListResult queryFundRecord(String profileId, String fundCode, String queryType, Long userId, Integer beginNum, Integer requestNum, String business, String allotNo, Boolean isOrganBao);

    /**
     * 资产--瑞富宝的交易记录
     *
     * @param fundCode  基金代码 非必
     * @param queryType 业务类型, all 全部 onWay 进行中
     * @param userId    用户id
     * @param business  业务代码
     * @return
     */
    WTradingRecordListResult queryRuifubaoRecord(String profileId, String fundCode, String queryType, Long userId, Integer beginNum, Integer requestNum, String business, String allotNo);

    /**
     * 基金详情
     *
     * @param allotNo 交易编号
     */
    BaseResult queryFundDetail(String profileId, String allotNo);

    void normalFilterOrganBao(List<ApplyModel> applys, boolean isOrganBao);

    void dividendFilterOrganBao(List<DividendModel> dividendModels, boolean isOrganBao);
}
